#include <string>
#include <regex>
#include <iostream>

int main()
{
    std::string str("/number/666"); //原始字符串
    std::smatch sm; //存储匹配结果的容器
    //1.以 /number/ 开头
    //2.匹配数字 \d
    //3.匹配多次 +
    //4.提取匹配结果 (\d+)
    std::regex reg("/number/(\\d+)"); //正则表达式
    //sm存储的第一个元素是原始字符串
    bool ret = std::regex_match(str, sm, reg);
    if (!ret) { return -1; }
    // for (const auto& s : sm) {
    //     std::cout << s << std::endl;
    // }
    // std::cout << typeid(sm[0]).name() << std::endl;
    for (int i = 0; i < sm.size(); ++i) {
        std::cout << i << ":" << sm[i] << std::endl;
    }
    return 0;
}